const myBehavior = require('../../behavior/index')

Component({
  //相当于mixins
  behaviors: [myBehavior],
  options: {
    multipleSlots: true,// 在组件定义时的选项中启用多slot支持
    styleIsolation: 'isolated'//组件样式隔离 2.6.5
  },
  // 事件监听 只在组件有效果
  observers: {
    'motto': function () {
      console.log('changed');
    }
  },
  /**
   * 组件的属性列表
   */
  properties: {
    name: {
      type: String,
      value: 'hong'
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 内部方法建议以下划线开头
    _myPrivateMethod: function () {
      // 这里将 data.A[0].B 设为 'myPrivateData'
      this.setData({
        'A[0].B': 'myPrivateData'
      })
    },
    _change() {
      // 参数1 detail对象，提供给事件监听函数
      // 参数2 触发事件的选项 
      this.triggerEvent('myevent', { name: 'deng', age: 20 })
    }
  },
  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  lifetimes: {
    // 在组件实例进入页面节点树时执行
    attached: function () { },
    moved: function () { },
    // 在组件实例被从页面节点树移除时执行
    detached: function () { },
  },

  // 生命周期函数，可以为函数，或一个在methods段中定义的方法名
  attached: function () {
    // 此处attached的声明会被lifetimes字段中的声明覆盖
    // 在组件实例进入页面节点树时执行
  },
  ready: function () { },
  detached: function () {
    // 在组件实例被从页面节点树移除时执行
  },
  pageLifetimes: {
    // 组件所在页面的生命周期函数
    show: function () { },
    hide: function () { },
    resize: function () { },
  },

})
